Proactive application communications

ABSTRACT

A device may include a contact information database and a processor. The processor may interact with a participant in a session with an application, obtain information that is associated with the session, generate a message based on the obtained information after the session terminates, obtain a list of contacts that includes at least one of the participant and members in the contact information database, and send the message to a first one of the contacts, the message providing information to motivate one of the contacts to join a future session with the application.

BACKGROUND

Typical user-to-user communications include text messaging,sending/receiving emails, posting/reading messages at a blog site,and/or placing/receiving phone calls.

SUMMARY

According to one aspect, a device may include a contact informationdatabase; and a processor. The processor may interact with a participantin a session with an application, obtain information that is associatedwith the session, generate a message based on the obtained informationafter the session terminates, obtain a list of contacts that includes atleast one of the participant and members in the contact informationdatabase, and send the message to a first one of the contacts, themessage providing information to motivate one of the contacts to join afuture session with the application.

Additionally, the message may include at least one of an audio clip, avideo clip, a text message, or an email.

Additionally, the device may include a game console, a netbook, alaptop, a personal computer, or a server device.

Additionally, the device may include a cellular telephone or a personaldigital assistant, and the contact information database may include atleast one of an address book or a phone book.

Additionally, the contact information database may include at least oneof a telephone number, an email address, a network address, or a uniformresource locator.

Additionally, the application may include at least one of a game or anonline order entry program.

Additionally, the message may include at least one of: a request for theparticipant to join a game session; a challenge to the participant todefeat a character in a game; a description of how the participant wasdefeated by a character in a role playing game; a description of a typeof product that the participant purchased during the session; or anelectronic discount coupon.

Additionally, the obtained information may include at least one of anemail address, a name of a character within the application, a time ofthe session, duration of the session, an outcome of the participantfacing an obstacle in a game during the session, or a productdescription.

Additionally, before the processor sends the message, the processor maybe further configured to select a time for sending the message based onthe time of the session.

Additionally, before the processor sends the message, the processor maybe further configured to call a communication application programinterface to send the message.

According to another aspect, a method may include interacting with aparticipant in a first session with a game application installed on adevice, obtaining information that is associated with the first session,generating a message based on the obtained information, obtaining a listof contacts based on at least one of a phone book of the participant oran address book of the participant, and sending the message to a firstone of the contacts, the message providing information to motivate oneof the contacts to join a future session with the game application.

Additionally, the method may further include collecting, during thefirst session, at least one of state information of the game applicationor state information associated with the device, and determining whetherto send the message to the first one of the contacts, by comparing thecollected state information to current state information of the deviceor the game application.

Additionally, generating the message may include inserting a challengeor taunt inside the message.

Additionally, sending the message may include sending an audio clip or avideo clip.

Additionally, obtaining the information may include obtaining a name ofa character whose role the participant assumed during the first session.

Additionally, the method may further include sending messages to otherparticipants in the first session.

According to yet another aspect, a computer-readable medium may storecomputer-executable instructions. The computer-executable instructionmay include instructions for interacting with a participant in asession, obtaining information that is associated with the session,generating a message based on the obtained information after the sessionterminates, and presenting the message to the participant to motivatethe participant to join a future session.

Additionally, the session may include a commercial transaction or agaming session.

Additionally, the instructions for sending the message may includeinstructions for at least one of playing an audio clip or a video clip,displaying an email message, a text message, or a short messagingservice (SMS) message, or emulating a phone call.

Additionally, the computer-readable readable medium may further includeinstructions for: collecting, during the session, state information of adevice that includes the computer-readable medium; and comparing thecollected state information to current state information to determinewhether to present the message.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate one or more embodiments describedherein and, together with the description, explain the embodiments. Inthe drawings:

FIG. 1 illustrates concepts described herein;

FIG. 2 is a diagram of an exemplary network in which the conceptsdescribed herein may be implemented;

FIG. 3 is a diagram of an exemplary user device of FIG. 2;

FIG. 4 is a block diagram of an exemplary network device;

FIG. 5 is a block diagram of exemplary functional components of thenetwork device of FIG. 4;

FIG. 6 is illustrates the user device of FIG. 2 receiving an exemplarytext message from a proactive application of FIG. 5;

FIG. 7 is a flow diagram of an exemplary process that is associated withthe network device of FIG. 4; and

FIG. 8 illustrates an example associated with the process of FIG. 7.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements. As used herein, the term “game” or “computer game”may refer to a game played on a computer (e.g., a personal computer, alaptop, etc.), game station (e.g., game console), or mobile device(e.g., cellular phone). In some implementations of a computer game, theuser may interact with other users over a network via computers, gamestations, or mobile devices.

In the following, a device may allow an application hosted on the deviceto initiate a communication with a user of the device and/or other usersthat have engaged the user via the application over a network. FIG. 1illustrates an exemplary implementation of the above concept. Assumethat a user Scott has concluded a role-playing session in a game Dragonsof the Misty Mountains at user device 102. Further, assume that, duringthe session, Scott has acted the role of Knight Macduff 104-1, and savedPrincess Juliette 104-2 from Dragon King 104-3.

A few days after the session, game Dragons of the Misty Mountains may“call” (e.g., texting instant messaging, mimicking/emulating a telephonecall, etc.) user device 102. This may cause device 102 to provide aringtone and/or to display the name “Dragon King” and/or an image ofDragon King 104-3. If Scott accepts the call, Dragons of the MistyMountains may, for example, encourage Scott to continue to play thegame, challenge Scott to additional gaming sessions, or taunt Scott for“quitting.” If Scott does not accept the call, the call may be forwardedto Scott's voicemail.

FIG. 2 is a diagram of an exemplary network 200 in which the conceptsdescribed herein may be implemented. As shown, network 200 may includeuser devices 202-1 through 202-N (collectively “user devices 202” andindividually “user device 202-x”), network 204, and server devices 206-1through 206-M (collectively “server devices 206” and individually“server device 206-x”). Depending on the implementation, network 200 mayinclude additional, fewer, or different devices than the onesillustrated in FIG. 2. For example, in some implementations, network 200may include hundreds, thousands, or more user devices.

User device 202-x may invite or request the user to perform an action(e.g., challenge the user to play a game). In some implementations, userdevice 202-x may send or receive invitations/information to/from otheruser devices 202 and/or server devices 206. The invitations may requestthe users and/or other users to participate in a network activity (e.g.,a network game, purchase a product or food (e.g., lunch) over thenetwork, etc.), as well as present the user with useful information(e.g., a lunch menu at the user's favorite restaurant).

Network 204 may include a cellular network, a public switched telephonenetwork (PSTN), a local area network (LAN), a wide area network (WAN), awireless LAN, a metropolitan area network (MAN), an intranet, theInternet, a satellite-based network, a fiber-optic network (e.g.,passive optical networks (PONs)), an ad hoc network, any other network,or a combination of networks. Devices that are shown in FIG. 2 mayconnect to network 204 via wireless, wired, or optical communicationlinks. In addition, network 204 may allow any of devices 202 tocommunicate with any other devices 202.

Server device 206-x may invite or request one or more users at userdevices 202 to perform an action (e.g., challenge the user to play agame) and/or present the users with useful information (e.g., a menu ata user's favorite restaurant).

In some implementations, server device 206-x may exchange informationabout the users and/or user devices 202 with other server devices 206.For example, assume that John at user device 202-1 is playing a networkgame hosted at server device 206-1, and Ben at user device 202-2 isplaying the same game hosted at server device 206-2. Server devices202-1 and 202-2 may continually exchange game information pertaining toJohn and Ben to allow John and Ben to interact in the game.

FIG. 3 is a diagram of an exemplary user device 202-x. User device 202-xmay include any of the following devices: a mobile telephone; a cellularphone; a personal communications system (PCS) terminal that may combinea cellular radiotelephone with data processing, facsimile, and/or datacommunications capabilities; an electronic notepad, a laptop, a netbook,an ultra mobile personal computer (UMPC), and/or a personal computer; apersonal digital assistant (PDA) that can include a telephone; a gamingdevice or console; a peripheral (e.g., wireless headphone); a digitalcamera; or another type of computational or communication device.

In this implementation, user device 202-x may take the form of a mobilephone (e.g., a cell phone). As shown in FIG. 3, user device 202-x mayinclude a speaker 302, a display 304, control buttons 306, a keypad 308,a microphone 310, sensors 312, a front camera 314, and a housing 316.

Speaker 302 may provide audible information to a user of user device202-x. Display 304 may provide visual information to the user, such asan image of a caller, video images, or pictures. In addition, display304 may include a touch screen for providing input to user device 202-x.Control buttons 306 may permit the user to interact with user device202-x to cause user device 202-x to perform one or more operations, suchas place or receive a telephone call. Keypad 308 may include a telephonekeypad. Microphone 310 may receive audible information from the user.Sensors 312 may collect and provide, to user device 202-x, information(e.g., acoustic, infrared, etc.) that is used to aid the user incapturing images or in providing other types of information (e.g., adistance between a user and user device 202-x). Front camera 314 mayenable a user to view, capture and store images (e.g., pictures, videoclips) of a subject in front of user device 202-x. Housing 316 mayprovide a casing for components of user device 202-x and may protect thecomponents from outside elements.

FIG. 4 is a block diagram of a network device 400, which may representany of devices 202 and 206. As shown in FIG. 4, network device 400 mayinclude a processor 402, a memory 404, input/output components 406, anetwork interface 408, and a communication path 410. In differentimplementations, device 400 may include additional, fewer, or differentcomponents than the ones illustrated in FIG. 4. For example, device 400may include additional network interfaces, such as interfaces forreceiving and sending data packets.

Processor 402 may include a processor, a microprocessor, an ApplicationSpecific Integrated Circuit (ASIC), a Field Programmable Gate Array(FPGA), and/or other processing logic (e.g., audio/video processor)capable of processing information and/or controlling network device 400.Memory 404 may include static memory, such as read only memory (ROM),and/or dynamic memory, such as random access memory (RAM), or onboardcache, for storing data and machine-readable instructions. Memory 404may also include storage devices, such as a floppy disk, CD ROM, CDread/write (R/W) disc, and/or flash memory, as well as other types ofstorage devices.

Input/output components 406 may include a display screen (e.g., display304, etc.), a keyboard, a mouse, a speaker, a microphone, a DigitalVideo Disk (DVD) writer, a DVD reader, Universal Serial Bus (USB) lines,and/or other types of components for converting physical events orphenomena to and/or from digital signals that pertain to network device400.

Network interface 408 may include any transceiver-like mechanism thatenables network device 400 to communicate with other devices and/orsystems. For example, network interface 408 may include mechanisms forcommunicating via a network, such as the Internet, a terrestrialwireless network (e.g., a WLAN), a cellular network, a satellite-basednetwork, a wireless personal area network (WPAN), etc. Additionally oralternatively, network interface 308 may include a modem, an Ethernetinterface to a LAN, and/or an interface/connection for connectingnetwork device 400 to other devices (e.g., a Bluetooth interface).

Communication path 410 may provide an interface through which componentsof network device 400 can communicate with one another.

FIG. 5 is a block diagram of exemplary functional components of networkdevice 400. Network device 400 may represent either user device 202-x orserver device 206-x. As shown, network device 400 may includecommunication function interfaces 502, a proactive application 504, ausage information database 506, and a personal information database 508.Depending on the implementation, network device 400 may includeadditional, fewer, or different functional components than thoseillustrated in FIG. 5. For example, network device 400 may include anoperating system, document application, game application, etc.

Communication function interfaces 502 may include hardware and/orsoftware interfaces for requesting and obtaining functionalities thatare association with communication applications (e.g., an email client,a short messaging service (SMS) client, an instant messagingapplication, a browser, a telephone application, a video chatapplication, etc.) from network device 400. Another application, such asproactive application 504, may use communication function interfaces 502to cause network device 400 to generate a ringtone, display a message,deliver a message (e.g., SMS message, email, IM message, browser page,etc.) from/to another user, game server, etc.

Proactive application 504 may include hardware and/or softwarecomponents for interacting with a user of user device 202-x to performtasks, collecting usage information pertaining to proactive application504 (e.g., the time and the duration of the user's interaction withproactive application 504), and using the collected information toperform proactive actions, such as requesting the user to play a game,inviting the user to a gathering (e.g., a lunch at Joe's Pizza),informing the user of a special sale at the user's favorite retailstore, calling/messaging the user's contacts, etc.

Depending on the implementation, proactive application 504 may include,for example, an application for receiving an order (e.g., order forlunch, a product, providing a reservation, etc.), a game application(e.g., a role playing game, a video game, etc.), an application fortracking a user's visits to different websites, etc.

Usage information database 506 may include records that pertain to useof proactive application 504. For example, assume that proactiveapplication 504 is an application for receiving an online order (e.g., alunch order, a product (e.g., a pair of shoes) order, concert ticketorder, etc.). In such a case, a record in usage information database 506may include a caller's email address, phone number, and/or the caller'sorder selection (e.g., lunch selection, a specific product, thetime-day-month of the order, etc.). In another example, assume thatproactive application 504 is a game. In this case, the record mayindicate how long the user played the game, characters that the userdefeated or obstacles that the user overcame, the number of points thatthe user accumulated, the time-day-month of each of game sessions, otherusers that the user of device 202-x interacted with via the game, etc.Personal information database 508 may include contact informationassociated with the users of devices 202 (e.g., phone numbers, emailaddresses, etc.).

FIG. 6 is illustrates user device 202-x receiving a text message fromproactive application 504. As shown, Princess Juliette in Dragons of theMisty Mountains has sent a message to a user of user device 202-x.Further, as shown, a text message that is shown on display 304 requeststhe user to play starting at 7:00 p.m.

Exemplary Processes

FIG. 7 is a flow diagram of an exemplary process 700 that is associatedwith network device 400. Assume that proactive application 504 isrunning on either user device 202-x or server device 206. Process 700may begin with proactive application 504 obtaining state information ofuser device 202-x or proactive application 504 (block 702). For example,proactive application 504 may obtain the current time and the locationof user device 202-x (e.g., based on output of global positioning system(GPS) application on user device 202-x), the load on processor 402,identities of other applications that are executing on user device202-x/server device 206, etc.

Proactive application 504 may obtain usage information (block 704). Forexample, proactive application 504 may obtain times, days, and/orlocations at which proactive application 504 interacted with a user. Forexample, assume that proactive application 504 is a game. Proactiveapplication 504 may retrieve the times/days during which a user playedthe game. In another example, assume that proactive application 504 isan online provisioning program that is hosted at server device 206.Proactive application 504 may retrieve information on times/days duringwhich the user shopped via proactive application 504.

Proactive application 504 may determine whether to call or send amessage to a past participant or the past participant's contacts (block706). For example, proactive application 504 may determine, based on thestate information (see block 702) and the usage information (see block704), that the current state of user device 202-x or proactiveapplication 504 matches the usage information. For example, assume thatproactive application 504 is a game. When the current time approximatelymatches one of the times/days during which the user played proactiveapplication 504, proactive application 504 may decide to contact/alertthe user. In some implementations, proactive application 504 may obtainthe participant's authorization before contacting the user. In anotherexample, assume that the location of user device 202-x matches thelocation at which another user of user device 202-y previouslyinteracted with user device 202-x. This in turn may cause proactiveapplication 504 to send an alert to user device 202-y.

If proactive application 504 includes an application for promotingsales, proactive application 504 may weigh additional information, suchas at what price the user purchased a particular product, whether thecurrent product on sale is the type of product the user purchased,whether today is close to the date of the sale, etc. If there is asignificant match between the usage information and the additionalinformation, proactive application 504 may determine that the usershould be alerted or notified.

For example, assume that proactive application 504 takes online ordersfor lunch. In addition, assume that proactive application 504 hasreceived an order for seafood pasta from John on a prior Wednesday at1:00 p.m. In such an instance, on the following Wednesday, proactiveapplication 504 may determine that that an email notification should besent to John at 11:00 a.m. based on John's past lunch orders, to alertJohn to a slightly different or the same lunch special.

In some instances, proactive application 504 may determine that thecurrent state of user device 202-x does not warrant interruptions fromproactive application 504. For example, the user may be engaged in work(e.g., inputting data at an accounting application). In another example,processor 402 of user device 202-x may be heavily loaded, and placingproactive application as a foreground process may cause user device202-x to be irresponsive to user input. In these instances, proactiveapplication 504 may decide against alerting and/or sending a message tothe user.

If proactive application 504 determines that the participant/contactsare not to be contacted (block 706—NO), proactive application 504 mayreturn to block 702, where proactive application 504 may continue tomonitor the state of proactive application 504 or user device 202-x. Ifproactive application 504 determines that the past participant/contactsare to be contacted (block 706—YES), proactive application 504 mayobtain contact information (block 708).

In obtaining the contact information, proactive application 504 mayperform one or more lookups in personal information database 508. Forexample, assume that John has played Dragons of the Misty Mountains. Inthis case, proactive application 504 may obtain email addresses, phonenumbers, and/or other contact information for John's friends frompersonal information database 508. John's friends may or may not haveplayed Dragons of the Misty Mountains. In another example, proactiveapplication 504 may look up contact information for users from whom Johnobtained updates to Dragons of the Misty Mountains.

Proactive application 504 may call or send a message to a pastparticipant or the participant's contact (block 710). Continuing withthe preceding example, proactive application 504 may invokecommunication function interface 502 to send voice messages to phoneapplications in user devices 202. If proactive application 504 is agame, proactive application 504 may play the role of one of theantagonists in the game, challenge the users to play, or even taunt theusers for not playing the game. Alternatively, proactive application 504may send a text message to John's friends who may or may not have playedthe game, indicating that John has been defeated by one of theantagonists in the game.

In another example, assume that proactive application 504 is an onlinesales program. Proactive application 504 may send email messages tousers of devices 202 (e.g., purchasers), reminding the users of a salesevent. In some instances, proactive application 504 may provide adiscount or e-coupon via the email along with the reminders.

Proactive application 504 may determine whether the contacteddevice/person responds to the contact (block 712). For example,proactive application 504 may determine whether the contactedparticipant reengages proactive application 504 within a particularduration (e.g., purchases an online product one day after beingcontacted via an email message, plays the game within 10 minutes afterbeing contacted via a phone call, etc.). A result of determining whetherthe contacted participant has responded to the contact as may berecorded as part of usage information.

Proactive application 504 may record usage information (block 714). Forexample, when the user of user device 202-x is interacting withproactive application 504, proactive application 504 may record the timeof the interaction, specific actions that the user performed (e.g., killan antagonist in a game), the location of user device 202-x, identitiesof other, networked participants at other user devices 202, whether theuser is interacting with proactive application 504 in response to thecontact from proactive application 504, etc. The usage information maybe stored at usage information database 508.

Example

FIG. 8 illustrates an example that is associated with proactiveapplication 504. The example is consistent with the above descriptions.Assume that a Freaky Brains server is installed on server device 206-1,and that Freaky Brains clients are installed on Scott's user device202-3, Johan's user device 202-2, Becky's user device 804-1, and Sam'suser device 804-2. In addition, assume that Scott, Johan, Becky, and Samplayed Freaky Brains over network 204 on Saturday 7:30 p.m. to 10:30p.m.

Freaky Brains client runs in the background at Scott's device 202-3, andperiodically obtains the state of user device 202-3. On Saturdaymorning, Freaky Brains client on Scott's device 202-3 compares thecurrent time and location of device 202-3 to the time and location ofScott's previous gaming session. Based on the comparison, Freaky Brainsclient asks Scott if Scott will authorize Freaky Brains client to inviteJohan, Becky, and Sam to a gaming session. Scott enjoys playing FreakyBrains, and, therefore, authorizes Freaky Brains client on device 202-3to invite his friends.

Freaky Brains client performs a lookup of contact information for Johan,Becky, and Sam in Scott's address book on user device 202-3, and placesa call to each of user devices 202-2, 804-1, and 804-2, posing as BigSister, one of the characters in Freaky Brains. Each of Johan, Becky,and Sam receives a call at user devices 202-2, 804-1, and 804-2,respectively.

During each of the calls, Big Sister states, “I am the Big Sister, thesmartest woman in Freaky Brains. I have defeated Scott by the score of10-to-9. Now I challenge you to outwit me starting tonight at 7:30 p.m.Be ready to be stupefied!”

At 7:30 p.m., Scott, Johan, Becky, and Sam connect to Freaky Brainsserver on server device 206-1, and plays Freaky Brains. While Scott,Johan, Becky, and Sam play, Freaky Brain server and client on serverdevice 206-x and user devices 202-3, 202-2, 804-1, and 804-2 recordusage information.

CONCLUSION

The foregoing description of implementations provides illustration, butis not intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations are possible inlight of the above teachings or may be acquired from practice of theteachings.

For example, while series of blocks have been described with regard tothe exemplary processes illustrated in FIG. 7, the order of the blocksmay be modified in other implementations. In addition, non-dependentblocks may represent acts that can be performed in parallel to otherblocks. Further, depending on the implementation of functionalcomponents, some of the blocks may be omitted from one process.

It will be apparent that aspects described herein may be implemented inmany different forms of software, firmware, and hardware in theimplementations illustrated in the figures. The actual software code orspecialized control hardware used to implement aspects does not limitthe invention. Thus, the operation and behavior of the aspects weredescribed without reference to the specific software code—it beingunderstood that software and control hardware can be designed toimplement the aspects based on the description herein.

It should be emphasized that the term “comprises/comprising” when usedin this specification is taken to specify the presence of statedfeatures, integers, steps or components but does not preclude thepresence or addition of one or more other features, integers, steps,components, or groups thereof.

Further, certain portions of the implementations have been described as“logic” that performs one or more functions. This logic may includehardware, such as a processor, a microprocessor, an application specificintegrated circuit, or a field programmable gate array, software, or acombination of hardware and software.

No element, act, or instruction used in the present application shouldbe construed as critical or essential to the implementations describedherein unless explicitly described as such. Also, as used herein, thearticle “a” is intended to include one or more items. Further, thephrase “based on” is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

1. A device comprising: a contact information database; and a processorto: interact with a participant in a session with an application, obtaininformation that is associated with the session, generate a messagebased on the obtained information after the session terminates, obtain alist of contacts that includes at least one of the participant andmembers in the contact information database, and send the message to atleast one of members in the contacts, wherein the message indicates atleast a challenge to each of the at least one of members to defeat acharacter in a future session.
 2. The device of claim 1, wherein themessage includes at least one of: an audio clip, a video clip, a textmessage, or an email.
 3. The device of claim 1, wherein the deviceincludes: a game console, a netbook, a laptop, a personal computer, or aserver device.
 4. The device of claim 1, wherein the device includes: acellular telephone or a personal digital assistant, and wherein thecontact information database includes at least one of an address book ora phone book.
 5. The device of claim 1, wherein the contact informationdatabase includes at least one of: a telephone number, an email address,a network address, or a uniform resource locator.
 6. The device of claim1, wherein the application includes at least one of: a game or an onlineorder entry program.
 7. The device of claim 1, wherein the messageincludes at least one of: a request for each of the at least one ofmembers to join the future session; a description of how the participantwas defeated by a character in a role playing game; a description of atype of product that the participant purchased during the session; or anelectronic discount coupon.
 8. The device of claim 1, wherein theobtained information includes at least one of: an email address, a nameof the character within the application, a time of the session, durationof the session, an outcome of the participant facing an obstacle in agame during the session, and a product description.
 9. The device ofclaim 8, wherein before the processor sends the message, the processoris further configured to: select a time for sending the message based onthe time of the session.
 10. The device of claim 1, wherein before theprocessor sends the message, the processor is further configured to calla communication application program interface to send the message.
 11. Amethod comprising: interacting with a participant in a first sessionwith a game application installed on a device; obtaining informationthat is associated with the first session; generating a message based onthe obtained information; obtaining a list of contacts based on at leastone of a phone book of the participant or an address book of theparticipant; sending the message to at least one of the contacts,wherein the message indicates at least a challenge to each of the atleast one of contacts to defeat a character in a future session.
 12. Themethod of claim 11, further comprising: collecting, during the firstsession, at least one of state information of the game application orstate information associated with the device; and determining whether tosend the message to the at least one of the contacts, by comparing thecollected state information to current state information of the deviceor the game application.
 13. The method of claim 11, wherein generatingthe message includes: inserting a challenge or taunt inside the message.14. The method of claim 11, wherein sending the message includes:sending an audio clip or a video clip.
 15. The method of claim 11,wherein obtaining the information includes: obtaining a name of acharacter whose role the participant assumed during the first session.16. The device of claim 1, wherein at least one of the membersparticipates a past session associated with the application.
 17. Acomputer-readable medium for storing computer executable instructions,the computer-executable instructions comprising instructions for:interacting with a participant in a session; obtaining information thatis associated with the session; generating a message based on theobtained information after the session terminates; and presenting themessage to the participant, wherein the message indicates at least achallenge to the participant to defeat a character in a future session.18. The computer-readable medium of claim 17, wherein the sessionincludes: a commercial transaction; or a gaming session.
 19. Thecomputer-readable medium of claim 17, wherein the instructions forsending the message includes instructions for at least one of: playingan audio clip or a video clip; displaying an email message, a textmessage, or a short messaging service (SMS) message; or emulating aphone call.
 20. The computer-readable medium of claim 17, furthercomprising instructions for: collecting, during the session, stateinformation of a device that includes the computer-readable medium; andcomparing the collected state information to current state informationto determine whether to present the message.